package events

// EventHandler 事件处理器接口
type EventHandler interface {
	// 订阅事件的对象要实现该接口
	Handle(event DomainEvent) error
}

// EventBus 事件总线接口,用于处理事件和调用对应的处理器函数
type EventBus interface {
	// 发布事件
	Publish(event DomainEvent) error
	// 订阅事件
	Subscribe(eventType string, handler EventHandler)
	// 取消订阅
	Unsubscribe(eventType string, handler EventHandler)
}
